package com.stellar.auth.constants;


import com.stellar.exception.ErrorCode;

/**
 * @Author Jqcc
 * @Version 1.0
 * @Data 2025/5/16
 * AUTH 错误码枚举
 * AUTH_USER_XXX 用户管理
 * AUTH_ROLE_XXX 角色管理
 */
public interface ErrorCodeConstants {

    /**
     * 用户异常
     */
    ErrorCode AUTH_USER_NOT_EXIST = new ErrorCode(1_001_001_001, "用户不存在");
    ErrorCode AUTH_USER_PASSWORD_ERROR = new ErrorCode(1_001_001_002, "用户密码错误");
    ErrorCode AUTH_USER_EXIST = new ErrorCode(1_001_001_003, "用户名存在");
    ErrorCode AUTH_USER_NOT_LOGIN = new ErrorCode(1_001_001_004, "用户未登录");
    ErrorCode AUTH_USER_ACCOUNT_LOCKED = new ErrorCode(1_001_001_005, "帐号被封禁，请联系管理员");
    ErrorCode AUTH_USER_REGISTER_FAIL = new ErrorCode(1_001_001_006, "注册失败");
     ErrorCode AUTH_USER_STATUS_INVALID = new ErrorCode(1_001_001_007, "账号状态无效");

    /**
     * 角色异常
     */
    ErrorCode AUTH_ROLE_NOT_EXIST = new ErrorCode(1_001_002_001, "角色不存在");
    ErrorCode AUTH_ROLE_EXIST = new ErrorCode(1_001_002_002, "角色已存在");
    ErrorCode AUTH_USER_ROLE_RELEVANCY_FAIL = new ErrorCode(1_001_002_003, "用户角色关联失败");
    ErrorCode AUTH_ROLE_IDENTITY_ERROR = new ErrorCode(1_001_002_004, "帐号身份异常，请联系管理员");
    ErrorCode AUTH_ROLE_OPERATION_ERROR = new ErrorCode(1_001_002_005, "操作权限越界，请联系管理员");


    /**
     * 小程序业务异常
     */
    ErrorCode AUTH_MINI_APP_LOGIN_FAIL = new ErrorCode(1_001_003_001, "小程序登录失败");
    ErrorCode AUTH_MINI_APP_MESSAGE_SEND_FAIL = new ErrorCode(1_001_003_002, "消息发送失败");
    ErrorCode AUTH_MINI_APP_DYNAMIC_MESSAGE_CREATE_FAIL = new ErrorCode(1_001_003_003, "动态消息创建失败");


    /**
     * 业务异常
     */
    ErrorCode INVALID_USER_ID = new ErrorCode(1_001_004_001, "无效的用户ID");
}
